home *** CD-ROM | disk | FTP | other *** search
- """W3C Document Object Model implementation for Python.
-
- The Python mapping of the Document Object Model is documented in the
- Python Library Reference in the section on the xml.dom package.
-
- This package contains the following modules:
-
- minidom -- A simple implementation of the Level 1 DOM with namespace
- support added (based on the Level 2 specification) and other
- minor Level 2 functionality.
-
- pulldom -- DOM builder supporting on-demand tree-building for selected
- subtrees of the document.
-
- """
-
-
- class Node:
- """Class giving the NodeType constants."""
-
- # DOM implementations may use this as a base class for their own
- # Node implementations. If they don't, the constants defined here
- # should still be used as the canonical definitions as they match
- # the values given in the W3C recommendation. Client code can
- # safely refer to these values in all tests of Node.nodeType
- # values.
-
- ELEMENT_NODE = 1
- ATTRIBUTE_NODE = 2
- TEXT_NODE = 3
- CDATA_SECTION_NODE = 4
- ENTITY_REFERENCE_NODE = 5
- ENTITY_NODE = 6
- PROCESSING_INSTRUCTION_NODE = 7
- COMMENT_NODE = 8
- DOCUMENT_NODE = 9
- DOCUMENT_TYPE_NODE = 10
- DOCUMENT_FRAGMENT_NODE = 11
- NOTATION_NODE = 12
-
-
- #ExceptionCode
- INDEX_SIZE_ERR = 1
- DOMSTRING_SIZE_ERR = 2
- HIERARCHY_REQUEST_ERR = 3
- WRONG_DOCUMENT_ERR = 4
- INVALID_CHARACTER_ERR = 5
- NO_DATA_ALLOWED_ERR = 6
- NO_MODIFICATION_ALLOWED_ERR = 7
- NOT_FOUND_ERR = 8
- NOT_SUPPORTED_ERR = 9
- INUSE_ATTRIBUTE_ERR = 10
- INVALID_STATE_ERR = 11
- SYNTAX_ERR = 12
- INVALID_MODIFICATION_ERR = 13
- NAMESPACE_ERR = 14
- INVALID_ACCESS_ERR = 15
-
-
- class DOMException(Exception):
- """Abstract base class for DOM exceptions.
- Exceptions with specific codes are specializations of this class."""
-
- def __init__(self, *args, **kw):
- if self.__class__ is DOMException:
- raise RuntimeError(
- "DOMException should not be instantiated directly")
- apply(Exception.__init__, (self,) + args, kw)
-
- def _get_code(self):
- return self.code
-
-
- class IndexSizeErr(DOMException):
- code = INDEX_SIZE_ERR
-
- class DomstringSizeErr(DOMException):
- code = DOMSTRING_SIZE_ERR
-
- class HierarchyRequestErr(DOMException):
- code = HIERARCHY_REQUEST_ERR
-
- class WrongDocumentErr(DOMException):
- code = WRONG_DOCUMENT_ERR
-
- class InvalidCharacterErr(DOMException):
- code = INVALID_CHARACTER_ERR
-
- class NoDataAllowedErr(DOMException):
- code = NO_DATA_ALLOWED_ERR
-
- class NoModificationAllowedErr(DOMException):
- code = NO_MODIFICATION_ALLOWED_ERR
-
- class NotFoundErr(DOMException):
- code = NOT_FOUND_ERR
-
- class NotSupportedErr(DOMException):
- code = NOT_SUPPORTED_ERR
-
- class InuseAttributeErr(DOMException):
- code = INUSE_ATTRIBUTE_ERR
-
- class InvalidStateErr(DOMException):
- code = INVALID_STATE_ERR
-
- class SyntaxErr(DOMException):
- code = SYNTAX_ERR
-
- class InvalidModificationErr(DOMException):
- code = INVALID_MODIFICATION_ERR
-
- class NamespaceErr(DOMException):
- code = NAMESPACE_ERR
-
- class InvalidAccessErr(DOMException):
- code = INVALID_ACCESS_ERR
-
-
- XML_NAMESPACE = "http://www.w3.org/XML/1998/namespace"
- XMLNS_NAMESPACE = "http://www.w3.org/2000/xmlns/"
- XHTML_NAMESPACE = "http://www.w3.org/1999/xhtml"
- EMPTY_NAMESPACE = None
-
- from domreg import getDOMImplementation,registerDOMImplementation
-